blend_minmax
Specification
Name
EXT_blend_minmax
Name Strings
GL_EXT_blend_minmax
Version
$Date: 1996/09/09 00:58:43 $ $Revision: 1.2 $
Number
37
Dependencies
None
Overview
Blending capability is extended by respecifying the entire blend
equation. While this document defines only two new equations, the
BlendEquationEXT procedure that it defines will be used by subsequent
extensions to define additional blending equations.
The two new equations defined by this extension produce the minimum
(or maximum) color components of the source and destination colors.
Taking the maximum is useful for applications such as maximum projection
in medical imaging.
Issues
* I've prefixed the ADD token with FUNC, to indicate that the blend
equation includes the parameters specified by BlendFunc. (The min
and max equations don't.) Is this necessary? Is it too ugly?
Is there a better way to accomplish the same thing?
New Procedures and Functions
void BlendEquationEXT(enum mode);
New Tokens
Accepted by the < mode > parameter of BlendEquationEXT:
FUNC_ADD_EXT 0x8006
MIN_EXT 0x8007
MAX_EXT 0x8008
Accepted by the < pname > parameter of GetBooleanv, GetIntegerv,
GetFloatv, and GetDoublev:
BLEND_EQUATION_EXT 0x8009
Additions to Chapter 2 of the GL Specification (OpenGL Operation)
None
Additions to Chapter 3 of the GL Specification (Rasterization)
None
Additions to Chapter 4 of the GL Specification (Per-Fragment Operations
and the Framebuffer)
The GL Specification defines a single blending equation. This
extension introduces a blend equation mode that is specified by calling
BlendEquationEXT with one of three enumerated values. The default
value FUNC_ADD_EXT specifies that the blending equation defined in
the GL Specification be used. This equation is
C' = (Cs * S) + (Cd * D)
/ 1.0 C' > 1.0
C = (
\ C' C' <= 1.0
where Cs and Cd are the source and destination colors, and S and D are
as specified by BlendFunc.
If BlendEquationEXT is called with < mode > set to MIN_EXT, the
blending equation becomes
C = min (Cs, Cd)
Finally, if BlendEquationEXT is called with < mode > set to MAX_EXT, the
blending equation becomes
C = max (Cs, Cd)
In all cases the blending equation is evaluated separately for each
color component.
Additions to Chapter 5 of the GL Specification (Special Functions)
None
Additions to Chapter 6 of the GL Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
A new GL rendering command is added. The following command is sent to the
server as part of a glXRender request:
BlendEquationEXT
2 8 rendering command length
2 4097 rendering command opcode
4 ENUM mode
Errors
INVALID_ENUM is generated by BlendEquationEXT if its single parameter
is not FUNC_ADD_EXT, MIN_EXT, or MAX_EXT.
INVALID_OPERATION is generated if BlendEquationEXT is executed between
the execution of Begin and the corresponding execution to End.
New State
Get Value Get Command Type Initial Value Attribute
--------- ----------- ---- ------------- ---------
BLEND_EQUATION_EXT GetIntegerv Z3 FUNC_ADD_EXT color-buffer
New Implementation Dependent State
None